// src/types/iam/IamUser.ts
export interface User {
  user_id: number;           // 唯一主键ID，自增长
  user_code: string;         // 用户编号，唯一标识
  user_name: string;         // 用户名
  hr_employee_code: string;  // HR员工编号
  password_hash: string;     // 加密后的密码哈希值
  email?: string;            // 用户邮箱，用于通知和找回密码
  is_active: boolean;        // 账户是否激活（true:激活, false:禁用）
  last_login?: string;       // 最后一次成功登录的时间
  hr_employee_id?: number;   // 关联人力资源模块的员工ID
  created_at?: string;       // 记录创建时间
  updated_at?: string;       // 记录最后更新时间
  created_by?: string;       // 记录创建者
  updated_by?: string;       // 记录最后更新者
  is_deleted: boolean;       // 软删除标志（true:已删除, false:未删除）
}

// 用户创建时的类型（不包含自动生成的字段）
export type UserCreation = Omit<User, 'user_id' | 'created_at' | 'updated_at' | 'is_deleted'>;

// 用户更新时的类型（所有字段都是可选的）
export type UserUpdate = Partial<User>;